﻿using System;
using System.Collections.Generic;
using System.Text;

namespace LowLevelGraphics
{
    /// <summary>
    /// 
    /// </summary>
    public class CSharpMask : ICloneable
    {
        public int TopLeft = 0, TopMiddle = 0, TopRight = 0;
        public int MiddleLeft = 0, Pixel = 1, MiddleRight = 0;
        public int BottomLeft = 0, BottomMiddle = 0, BottomRight = 0;
        public int Factor = 1;
        public int Offset = 0;

        public CSharpMask()
        {
        }

        public void SetAll(int nVal)
        {
            TopLeft = TopMiddle = TopRight = MiddleLeft = Pixel = MiddleRight = BottomLeft = BottomMiddle = BottomRight = nVal;
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="CSharpMask"/> class.
        /// </summary>
        /// <param name="_csharpMask">The _csharp mask.</param>
        internal CSharpMask(CSharpMask _csharpMask)
        {
            //this.TopLeft = _csharpMask.TopLeft;
            //this.MiddleLeft = _csharpMask.MiddleLeft;
        }

        #region ICloneable Members

        /// <summary>
        /// Creates a new object that is a copy of the current instance.
        /// </summary>
        /// <returns>
        /// A new object that is a copy of this instance.
        /// </returns>
        public object Clone()
        {
            return new CSharpMask(this);
        }

        #endregion
    }
}
